Digital audio workstations (DAWs) are gaining popularity in the recording studio and post-production environments. Digital audio workstations are used to mix, amplify, control and otherwise affect either the audio portion of a multimedia event or a production which is solely audio, such as a song or composition. Two important features desirable in any DAW are the DAW's ability to perform audio "tasks" (such as equalization, reverberation, etc.) in a real-time, efficient manner and the ability of the DAW to handle a number of tasks simultaneously or nearly simultaneously.
Each DAW typically includes a host computer and potentially one or more digital signal processors (DSPs). Where there are no DSPs, the host computer performs digital signal processing functions. The DSPs may be specialized, where each DSP performs one, unique task, or alternatively it may be general purpose; i.e., none of the DSPs are specialized but are provided as a random, general purpose DSP "pool" where any DSP can perform any number of different tasks. The host computer allocates tasks among the specialized and general purpose DSPs that are available.
Typically, analog audio data, provided via tape, synthesizer or the like, is translated into a digital audio data stream for input to the DAW by an analog to digital converter. Example A/D converters include the 888 Input/Output (I/O) audio Interface, manufactured by DIGIDESIGN, Inc., Avid Audio division, Avid Technologies, Tewksbury, Mass. Each of the Protools audio interfaces receive eight channels of analog input/output and provide eight channels of serial digital audio input/output.
Thus, the A/D converter provides a serial stream of digital audio data. To maximize performance, the DSPs generally operate on data in parallel. Therefore, a serial to parallel interface is provided either external to the DSP, or is included within the DSP. Historically, the conversion of data between the serial format and the parallel format was performed using hardwired interface logic that included shift registers and the like. Because discrete logic devices were used in the interface logic, the serial to parallel interface was not able to flexibly support varying operating environments. For example, audio data may be received in a number of input formats, including, among others, an I.sup.2 S format, for A/D converters manufactured by Phillips corporation, and an SSI format, for A/D converters manufactured by Motorola corporation. Each of the different formats has different timing characteristics, and the received digital audio data is interpreted differently in each of the formats. Because prior art interfaces were hardwired, either a separate interface had to be provided to support each of the variety of different input formats or the overall system would be able to support only one format. In addition, the prior art methods of providing a serial to parallel interface were similarly inflexible to changes in frequency of input serial audio data. Providing separate interfaces to support a variety of formats and/or frequencies undesirably uses a large amount of area on the digital signal processing board.
An additional drawback of the prior art interfaces was that they were designed to support a fixed number of channels. In particular, when the serial to parallel interface was provided internally to the DSP, only a maximum of two to four channels could be supported due to the available Input/Output pins and logic gates associated with supporting each channel. If it was desired to couple more than four channels of I/O audio data, additional digital signal processors would have to be added to the system. However, adding more digital signal processors to the system results in a more expensive, potentially less marketable system. Because the number of channels that a DAW is able to accommodate is one component of the performance of the overall system, limiting the number of channels because of area and pin constraints incurred by interface logic is undesirable.
An additional problem of the prior art interfaces arose because a potential existed for erroneous data to be forwarded to the digital signal processor. Typically, each serial digital audio signal was received at the interface with an accompanying clock signal that was used to clock the received data into the shift registers. Data from the shift registers was periodically read by the digital signal processor. If an error occurred such that the clock signal was delayed or disabled, an entire twenty-four bit signal group would not be shifted into the shift register. As a result, when the digital signal processor next read the shift register, erroneous data was forwarded to the digital signal processor. The erroneous data resulted in undesirable audio output, the desired digital audio signal was often unrecoverable.
Thus, the prior art interface mechanisms provided between the serial A/D converter and the digital signal processor were inflexible to changes in data format and frequency and additionally prone to error. It would therefore be desirable to provide an interface that would be able to handle multiple data formats, multiple frequencies and preclude the propagation of erroneous data to the DSP.